package com.aizuda.boot.modules.business.contractName.domain.response;

import com.aizuda.boot.modules.common.constant.enums.MultipleEntityRule;
import com.aizuda.boot.modules.common.constant.enums.NameRuleType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * @Author sangyirong
 * @ClassName ContractNameRuleDetailVO
 * @Version 1.0
 * @Date 2025/7/4 16:34
 */
@Data
@Schema(description = "合同名称规则详情")
public class ContractNameRuleDetailVO {

    @Schema(description = "规则ID")
    private Long id;

    @Schema(description = "规则名称")
    private String ruleName;

    @Schema(description = "规则编码")
    private String ruleCode;

    @Schema(description = "是否可编辑")
    private Boolean edit;

    @Schema(description = "规则类型")
    private NameRuleType ruleType;

    @Schema(description = "是否启用")
    private Boolean isEnabled;

    @Schema(description = "多个我方主体时生成规则")
    private MultipleEntityRule ourEntityRule;

    @Schema(description = "多个对方主体时生成规则")
    private MultipleEntityRule counterpartyEntityRule;

    @Schema(description = "规则组件")
    private List<NameComponentVO> components;

    @Schema(description = "规则组件")
    private List<Map<String, Object>> component;
}
